package com.zhongke.cotrun.model.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;

import javax.validation.constraints.NotNull;

@ApiModel(value = "用户需求信息")
@Data
public class NeedInfo {
	
	@ApiModelProperty(value = "id主键", example = "123")
	@NotNull(message = "id不能为空")
    private Long id;     
    @ApiModelProperty(value = "user_info主键", example = "123")
    @NotNull(message = "用户id不能为空")
    private Long userInfoId;// 用户id
    @ApiModelProperty(value = "wx_user_info主键", example = "123")    
    private Long userId;// 微信用户id
    @ApiModelProperty(value = "关键词", example = "123,456")    
    private String keyWord;
    
    @ApiModelProperty(value = "预算", example = "0.00")    
    @NotNull(message = "预算不能为空")
    private double budget;
    @ApiModelProperty(value = "标题", example = "123")
    @NotNull(message = "标题不能为空")
    private String title;
    @ApiModelProperty(value = "需求内容", example = "123")
    @NotNull(message = "内容不能为空")
	private String note;
    @ApiModelProperty(value = "截止日期", example = "123")    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date endDate;
    @ApiModelProperty(value = "需求类型", example = "1")
    @NotNull(message = "需求类型不能为空")
	private String type;
    @ApiModelProperty(value = "需求状态0-待审核 1-审核通过(发布中) 2-审核不通过（驳回）  3-已下线", example = "0")
    @NotNull(message = "状态不能为空")
	private String state;
    @ApiModelProperty(value = "技术领域ID", example = "1,2,3")
    @NotNull(message = "技术领域ID不能为空")
	private String technicalFieldId;
    @ApiModelProperty(value = "技术领域内容", example = "123,456")   
    @NotNull(message = "技术领域内容不能为空")
	private String technicalFieldDesc;
        
    @ApiModelProperty(value = "备注", example = "123")   
    private String remarks;
    @ApiModelProperty(value = "创建人", example = "123")  
    private Long createBy;
    @ApiModelProperty(value = "更新人", example = "123")  
    private Long updateBy;
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createDate;
    
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateDate;
    
    @ApiModelProperty(value = "删除标记（0：正常；1：回收站）", example = "0")    
    private String delFlag;
    @ApiModelProperty(value = "审核人id")
    private Long approvalBy;
    @ApiModelProperty(value = "审核原因")
    private String approvalOpinion;
    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date approvalDate;

    private String approvalUserName;
    private String typeLabel;
    private String stateLabel;
    private String city;
    private String cityLabel;
    private String province;
    private String provinceLabel;
    private String userName;
}
